Skip to main content

Composite Tasks

This page categorizes and lists all Robocasa composite kitchen manipulation tasks that are registered as Gymnasium environments, grouped according to their implementation module in the codebase. Each task can be instantiated with gym.make(<Task ID>) using the Gymnasium API. All environments share the base entry point isaaclab.envs:ManagerBasedRLEnv, and specific task logic is specified via the env_cfg_entry_point argument.


Washing Dishes

TaskIDTaskNameDescription
Robocasa-Task-DryDrinkwareDryDrinkwarePick up cups from counter and place upside down in upper cabinet
Robocasa-Task-StackBowlsInSinkStackBowlsInSinkPut bowls in sink
Robocasa-Task-DryDishesDryDishesTake cups and bowls from sink and place on counter
Robocasa-Task-SortingCleanupSortingCleanupPick up cup and put in sink, pick up bowl and put in cabinet, close cabinet
Robocasa-Task-PreSoakPanPreSoakPanPick up pan and sponge, place in sink, turn on faucet

Clearing Table

TaskIDTaskNameDescription
Robocasa-Task-FoodCleanupFoodCleanupPick up random items from counter, put in cabinet, and close cabinet door
Robocasa-Task-BowlAndCupBowlAndCupPut cup from dining table in bowl, place bowl on any counter
Robocasa-Task-CondimentCollectionCondimentCollectionPick up shaker and seasoning jars from counter and put them in cabinet
Robocasa-Task-DessertAssemblyDessertAssemblyPlace bowl with donuts and cupcakes on tray
Robocasa-Task-CandleCleanupCandleCleanupTake candles and jars from dining table, place in open cabinet, close cabinet after placing items
Robocasa-Task-DrinkwareConsolidationDrinkwareConsolidationPick up beer and water bottles from counter and place in open cabinet
Robocasa-Task-ClearingCleaningReceptaclesClearingCleaningReceptaclesPick the obj_name_1 and obj_name_2 and place them in the sink. Then turn on the water

Making Toast

TaskIDTaskNameDescription
Robocasa-Task-CheesyBreadCheesyBreadPick up cheese and place on bread
Robocasa-Task-PrepareToastPrepareToastPick up bread and place on cutting board, pick up jam and place on counter, close cabinet
Robocasa-Task-BreadSelectionBreadSelectionPlace one croissant on cutting board, take jam jar from cabinet and place on board too
Robocasa-Task-SweetSavoryToastSetupSweetSavoryToastSetupTake avocado and bread from counter, place on plate, take jam from cabinet and place near plate, close cabinet

Setting the Table

TaskIDTaskNameDescription
Robocasa-Task-SizeSortingSizeSortingStack objects on counter from large to small
Robocasa-Task-ArrangeBreadBasketArrangeBreadBasketOpen cabinet, take bread from cabinet, put in bowl on counter, take bowl to dining counter
Robocasa-Task-SetBowlsForSoupSetBowlsForSoupOpen cabinet, take bowls one by one and place on plates on dining counter
Robocasa-Task-DateNightDateNightTake candles and wine from cabinet and move to dining table
Robocasa-Task-BeverageOrganizationBeverageOrganizationMove multiple beverages to dining table
Robocasa-Task-SeasoningSpiceSetupSeasoningSpiceSetupOpen cabinet door and move shaker and syrup bottle to dining table

Boiling & Steaming

TaskIDTaskNameDescription
Robocasa-Task-HeatMultipleWaterHeatMultipleWaterPlace kettle from cabinet on one burner, place pot from counter on another burner, turn both knobs to start burners
Robocasa-Task-FillKettleFillKettleOpen cabinet, take kettle from cabinet, place in sink
Robocasa-Task-VeggieBoilVeggieBoilPick up the pot and place it in the sink. Then turn on the sink faucet and let the pot fill up with water. Then turn the sink faucet off and move the pot to the stove. Lastly, turn on the stove and place the food in the pot
Robocasa-Task-SteamInMicrowaveSteamInMicrowaveTake object from sink, put in bowl on counter, place bowl in microwave, close door and press start
Robocasa-Task-MultistepSteamingMultistepSteamingTurn on faucet, pick up object and place in sink, turn off faucet, move object from sink to pot near stove, move pot to specified burner
Robocasa-Task-SteamVegetablesSteamVegetables

Frying

TaskIDTaskNameDescription
Robocasa-Task-FryingPanAdjustmentFryingPanAdjustmentMove pan from current burner to another burner and turn target knob to start burner
Robocasa-Task-SearingMeatSearingMeatTake pan from cabinet, place on random burner, put fish in pan, turn knob to start burner
Robocasa-Task-SetupFryingSetupFryingTake pan from cabinet, place on stove, turn on corresponding burner
Robocasa-Task-AssembleCookingArrayAssembleCookingArrayMove shrimp to pan on stove, then move tomato sauce and avocado from cabinet to counter with plates
Robocasa-Task-MealPrepStagingMealPrepStagingThen place the obj_name_1 and the obj_name_2 on different pans

Reheating Food

TaskIDTaskNameDescription
Robocasa-Task-SimmeringSauceSimmeringSaucePlace pan on specified burner, put objects in pan, turn corresponding knob to start burner
Robocasa-Task-WaffleReheatWaffleReheatOpen microwave, place bowl with object inside, close door and press start
Robocasa-Task-HeatMugHeatMugPick up mug from counter, place in microwave, close microwave
Robocasa-Task-MakeLoadedPotatoMakeLoadedPotatoTake reheated potato from microwave, place potato, cheese and seasonings on cutting board
Robocasa-Task-WarmCroissantWarmCroissantPick up croissant, place in pan, turn on stove to heat croissant

Washing Fruits and Vegetables

TaskIDTaskNameDescription
Robocasa-Task-PrewashFoodAssemblyPrewashFoodAssemblyPick up object from cabinet, put in bowl, place bowl in sink, and turn on faucet to fill bowl
Robocasa-Task-ClearClutterClearClutterPick up fruits and vegetables, place in sink, turn on faucet to wash them, turn off faucet, place in tray
Robocasa-Task-DrainVeggiesDrainVeggiesPour items from pot to sink, turn on faucet to wash items, turn off faucet, put items back in pot
Robocasa-Task-AfterwashSortingAfterwashSortingSort different types of food (fruits/vegetables) from sink into different bowls, turn off faucet

Baking

TaskIDTaskNameDescription
Robocasa-Task-CupcakeCleanupCupcakeCleanupPut objects from tray on counter, put bowls from counter in sink
Robocasa-Task-PastryDisplayPastryDisplayPlace pastries on plate
Robocasa-Task-OrganizeBakingIngredientsOrganizeBakingIngredientsCollect eggs and milk near sink area and place beside bowl

Brewing

TaskIDTaskNameDescription
Robocasa-Task-ArrangeTeaArrangeTeaPick up kettle from counter, place on tray, take cup from cabinet, place on tray, close cabinet
Robocasa-Task-PrepareCoffeePrepareCoffeeTake cup from cabinet, place under coffee machine spout, press start button
Robocasa-Task-KettleBoilingKettleBoilingPick up kettle from counter, place on stove, turn on stove

Chopping Food

TaskIDTaskNameDescription
Robocasa-Task-ArrangeVegetablesArrangeVegetablesTake vegetables from sink and place on cutting board
Robocasa-Task-ArrangeVegetablesSimpleArrangeVegetablesSimplePick the vegetables from the sink and place them on the cutting board
Robocasa-Task-OrganizeVegetablesOrganizeVegetablesPlace cucumber and garlic on different cutting boards
Robocasa-Task-BreadSetupSlicingBreadSetupSlicingPlace all bread on cutting board
Robocasa-Task-MeatTransferMeatTransferOpen cabinet door, take bowl from cabinet and place on table, put raw meat in bowl
Robocasa-Task-ClearingTheCuttingBoardClearingTheCuttingBoardClear the non-vegetable object off the cutting board and place the vegetables onto it

Cleaning & Sanitizing Surface

TaskIDTaskNameDescription
Robocasa-Task-PrepForSanitizingPrepForSanitizingOpen cabinet and take out objects, place them on counter
Robocasa-Task-CleanMicrowaveCleanMicrowavePlace sponge inside microwave for sanitizing preparation
Robocasa-Task-CountertopCleanupCountertopCleanupPick the fruit and vegetable from the counter and place them in the cabinet . Then open the drawer and pick the cleaner and sponge from the drawer and place them on the counter
Robocasa-Task-PushUtensilsToSinkPushUtensilsToSinkPush the utensils into the sink

Meat Preparation

TaskIDTaskNameDescription
Robocasa-Task-PrepMarinatingMeatPrepMarinatingMeatTake steak from plate to cutting board, take seasoning bottle from cabinet and place near board
Robocasa-Task-PrepForTenderizingPrepForTenderizingOpen cabinet, take rolling pin, place next to meat on cutting board for tenderizing prep

Mixing and Blending

TaskIDTaskNameDescription
Robocasa-Task-SpicyMarinadeSpicyMarinadeOpen cabinet, place objects from cabinet on counter, place objects from counter on cutting board
Robocasa-Task-ColorfulSalsaColorfulSalsaPlace required items on cutting board
Robocasa-Task-SetupJuicingSetupJuicingOpen the cabinet, pick all fruits from the cabinet and place them on the counter

Serving Food

TaskIDTaskNameDescription
Robocasa-Task-PanTransferPanTransferPick up pan, pour object from pan to plate on nearby counter, put empty pan back on stove
Robocasa-Task-ServeSteakServeSteakPick up pan with steak, place on dining table, then put steak on plate
Robocasa-Task-PrepareSoupServingPrepareSoupServingOpen cabinet, move spoon to pot, close cabinet
Robocasa-Task-DessertUpgradeDessertUpgradeMove dessert from plate to tray
Robocasa-Task-PlaceFoodInBowlsPlaceFoodInBowlsPick up two bowls and place on counter, put eggs in one bowl and steak in another
Robocasa-Task-WineServingPrepWineServingPrepOpen the cabinet directly in front,then move the alcohol and the cup to the counter with the decoration on it

Defrosting Food

TaskIDTaskNameDescription
Robocasa-Task-MicrowaveThawingMicrowaveThawingOpen microwave, take item from plate on counter, place in microwave, close and start
Robocasa-Task-DefrostByCategoryDefrostByCategoryFind all frozen vegetables and put in bowl on counter, put all frozen fruits in sink
Robocasa-Task-ThawInSinkThawInSinkTake eggplant from counter, place in sink, turn on faucet
Robocasa-Task-QuickThawQuickThawTake meat from bowl, place in pot on stove, turn on stove

Snack Preparation

TaskIDTaskNameDescription
Robocasa-Task-VeggieDipPrepVeggieDipPrepPlace two vegetables and bowl on tray to set up veggie dip station
Robocasa-Task-MakeFruitBowlMakeFruitBowlOpen cabinet, take oranges and peaches from cabinet and put in bowl, close cabinet
Robocasa-Task-BreadAndCheeseBreadAndCheesePlace bread and cheese on cutting board
Robocasa-Task-CerealAndBowlCerealAndBowlOpen cabinet, take cereal and bowl from cabinet and place on counter near milk, close cabinet
Robocasa-Task-YogurtDelightPrepYogurtDelightPrepPlace yogurt and fruit on counter

Tidying Cabinets and Drawers

TaskIDTaskNameDescription
Robocasa-Task-SnackSortingSnackSortingPut snacks in bowl and close drawer
Robocasa-Task-OrganizeCleaningSuppliesOrganizeCleaningSuppliesOpen cabinet, take out soap dispenser and place near sink, close cabinet
Robocasa-Task-DrawerUtensilSortDrawerUtensilSortOpen drawer and push the utensils inside it
Robocasa-Task-PantryMishapPantryMishapPlace the vegetable on the counter and the canned food in the drawer. Close the cabinet
Robocasa-Task-ShakerShuffleShakerShufflePick and place the shaker into the drawer. Then close the cabinet

Restocking Supplies

TaskIDTaskNameDescription
Robocasa-Task-RestockPantryRestockPantryTake cans from counter and place them on specified side of cabinet
Robocasa-Task-StockingBreakfastFoodsStockingBreakfastFoodsPick up objects from counter and place them in nearest cabinets respectively
Robocasa-Task-BeverageSortingBeverageSortingPlace all alcoholic beverages in one cabinet, non-alcoholic beverages in another cabinet
Robocasa-Task-RestockBowlsRestockBowlsOpen cabinet, take bowls from counter and place in cabinet, close cabinet

Example

import gymnasium as gym
import inspect

# Retrieve the entry point for a composite task (e.g., "Robocasa-Task-DryDishes")
entry_point = gym.spec("Robocasa-Task-DryDishes").kwargs.get("env_cfg_entry_point")
DryDishesTaskCls = inspect.getfile(entry_point)
dry_dishes_task = DryDishesTaskCls()

# Similarly, retrieve the entry point for another composite task
entry_point_stack = gym.spec("Robocasa-Task-StackBowlsInSink").kwargs.get("env_cfg_entry_point")
StackBowlsTaskCls = inspect.getfile(entry_point_stack)
stack_bowls_task = StackBowlsTaskCls()

# You can pass these task objects to IsaacLabArenaEnvironment or compatible RL frameworks
# isaac_env = IsaacLabArenaEnvironment(scene=anyscene, embodiment=anyrobot, task=dry_dishes_task)
# isaac_env_stack = IsaacLabArenaEnvironment(scene=anyscene, embodiment=anyrobot, task=stack_bowls_task)